package com.wicket.okrapp.web.contorller;

import com.wicket.okrapp.biz.service.ExecuteProgressService;
import com.wicket.okrapp.biz.service.dto.req.*;
import com.wicket.okrapp.biz.service.dto.res.*;
import com.wicket.okrapp.common.ro.OkrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/app/executeProgress/")
public class ExecuteProgressController {

  @Autowired
  ExecuteProgressService executeProgressService;
/**
   * D3执行分析进度值匹配进度范围(公共)
   */
    @PostMapping("implementAnalyseProgressMatchScopeCom")
    public OkrResult<ImplementAnalyseProgressMatchScopeComRespDto> implementAnalyseProgressMatchScopeCom(@RequestBody @Validated ImplementAnalyseProgressMatchScopeComReqDto reqDTO){
    return OkrResult.success(executeProgressService.implementAnalyseProgressMatchScopeCom(reqDTO));
    }
/**
   * D3更新执行进度处理进度(公共)
   */
    @PostMapping("refreshExecuteProgressDisposeCom")
    public OkrResult<RefreshExecuteProgressDisposeComRespDto> refreshExecuteProgressDisposeCom(@RequestBody @Validated RefreshExecuteProgressDisposeComReqDto reqDTO){
    return OkrResult.success(executeProgressService.refreshExecuteProgressDisposeCom(reqDTO));
    }
/**
   * D3查步骤执行进度情况
   */
    @PostMapping("queryStepExecuteProgressDetail")
    public OkrResult<QueryStepExecuteProgressDetailRespDto> queryStepExecuteProgressDetail(@RequestBody @Validated QueryStepExecuteProgressDetailReqDto reqDTO){
    return OkrResult.success(executeProgressService.queryStepExecuteProgressDetail(reqDTO));
    }
/**
   * D3执行异步增执行进度(公共)
   */
    @PostMapping("implementAsyncAddExecuteProgressCom")
    public OkrResult<ImplementAsyncAddExecuteProgressComRespDto> implementAsyncAddExecuteProgressCom(@RequestBody @Validated ImplementAsyncAddExecuteProgressComReqDto reqDTO){
    return OkrResult.success(executeProgressService.implementAsyncAddExecuteProgressCom(reqDTO));
    }
/**
   * D3删除执行进度(公共)
   */
    @PostMapping("deleteExecuteProgressCom")
    public OkrResult<DeleteExecuteProgressComRespDto> deleteExecuteProgressCom(@RequestBody @Validated DeleteExecuteProgressComReqDto reqDTO){
    return OkrResult.success(executeProgressService.deleteExecuteProgressCom(reqDTO));
    }
/**
   * D3执行更新执行进度值(公共)
   */
    @PostMapping("implementUpdateExecuteProgressValueCom")
    public OkrResult<ImplementUpdateExecuteProgressValueComRespDto> implementUpdateExecuteProgressValueCom(@RequestBody @Validated ImplementUpdateExecuteProgressValueComReqDto reqDTO){
    return OkrResult.success(executeProgressService.implementUpdateExecuteProgressValueCom(reqDTO));
    }
/**
   * D3分析用途类型匹配配置项标识(公共)
   */
    @PostMapping("implementAnalyseUseTypeCodeMatchConfCodeCom")
    public OkrResult<ImplementAnalyseUseTypeCodeMatchConfCodeComRespDto> implementAnalyseUseTypeCodeMatchConfCodeCom(@RequestBody @Validated ImplementAnalyseUseTypeCodeMatchConfCodeComReqDto reqDTO){
    return OkrResult.success(executeProgressService.implementAnalyseUseTypeCodeMatchConfCodeCom(reqDTO));
    }

/**
   * D3执行统计更新执行进度(公共)
   */
    @PostMapping("implementStatisticsUpdateExecuteProgressCom")
    public OkrResult<ImplementStatisticsUpdateExecuteProgressComRespDto> implementStatisticsUpdateExecuteProgressCom(@RequestBody @Validated ImplementStatisticsUpdateExecuteProgressComReqDto reqDTO){
    return OkrResult.success(executeProgressService.implementStatisticsUpdateExecuteProgressCom(reqDTO));
    }
/**
   * D3判断执行进度运行条件(公共)
   */
    @PostMapping("implementJudgeExecuteProgressTermCom")
    public OkrResult<ImplementJudgeExecuteProgressTermComRespDto> implementJudgeExecuteProgressTermCom(@RequestBody @Validated ImplementJudgeExecuteProgressTermComReqDto reqDTO){
    return OkrResult.success(executeProgressService.implementJudgeExecuteProgressTermCom(reqDTO));
    }
/**
   * D3删除归属对象内容下执行进度(公共)
   */
    @PostMapping("deleteObjectExecuteProgressCom")
    public OkrResult<DeleteObjectExecuteProgressComRespDto> deleteObjectExecuteProgressCom(@RequestBody @Validated DeleteObjectExecuteProgressComReqDto reqDTO){
    return OkrResult.success(executeProgressService.deleteObjectExecuteProgressCom(reqDTO));
    }
/**
   * D3重置执行进度(公共)
   */
    @PostMapping("resetExecuteProgressCom")
    public OkrResult<ResetExecuteProgressComRespDto> resetExecuteProgressCom(@RequestBody @Validated ResetExecuteProgressComReqDto reqDTO){
    return OkrResult.success(executeProgressService.resetExecuteProgressCom(reqDTO));
    }
/**
   * D3重置执行进度处理
   */
    @PostMapping("resetExecuteProgressDispose")
    public OkrResult<ResetExecuteProgressDisposeRespDto> resetExecuteProgressDispose(@RequestBody @Validated ResetExecuteProgressDisposeReqDto reqDTO){
    return OkrResult.success(executeProgressService.resetExecuteProgressDispose(reqDTO));
    }
/**
   * D3获取执行进度信息(公共)
   */
    @PostMapping("obtainExecuteProgressCom")
    public OkrResult<ObtainExecuteProgressComRespDto> obtainExecuteProgressCom(@RequestBody @Validated ObtainExecuteProgressComReqDto reqDTO){
    return OkrResult.success(null);
    }
/**
   * D3获取执行进度信息(公共)
   */
    @PostMapping("obtainStatisticsUpdateExecuteProgressCom")
    public OkrResult<ObtainStatisticsUpdateExecuteProgressComRespDto> obtainStatisticsUpdateExecuteProgressCom(@RequestBody @Validated ObtainStatisticsUpdateExecuteProgressComReqDto reqDTO){
    return OkrResult.success(executeProgressService.obtainStatisticsUpdateExecuteProgressCom(reqDTO));
    }
/**
   * D3执行进度运行判断(公共)
   */
    @PostMapping("implementExecuteProgressOperationJudgeCom")
    public OkrResult<ImplementExecuteProgressOperationJudgeComRespDto> implementExecuteProgressOperationJudgeCom(@RequestBody @Validated ImplementExecuteProgressOperationJudgeComReqDto reqDTO){
    return OkrResult.success(executeProgressService.implementExecuteProgressOperationJudgeCom(reqDTO));
    }
/**
   * D3-重置执行进度处理(公共)
   */
    @PostMapping("resetExecuteProgressDisposeCom")
    public OkrResult<ResetExecuteProgressDisposeComRespDto> resetExecuteProgressDisposeCom(@RequestBody @Validated ResetExecuteProgressDisposeComReqDto reqDTO){
    return OkrResult.success(executeProgressService.resetExecuteProgressDisposeCom(reqDTO));
    }
/**
   * 11111D3撤销修订执行进度处理(公共)
   */
    @PostMapping("undoReviseExecuteProgressDisposeCom")
    public OkrResult<UndoReviseExecuteProgressDisposeComRespDto> undoReviseExecuteProgressDisposeCom(@RequestBody @Validated UndoReviseExecuteProgressDisposeComReqDto reqDTO){
    return OkrResult.success(executeProgressService.undoReviseExecuteProgressDisposeCom(reqDTO));
    }
}
